package com.youlai.boot.core.tenant.model.form;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 租户数据库配置表单
 *
 * @author haoxr
 * @since 3.0.0
 */
@Schema(description = "租户数据库配置表单")
@Data
public class TenantDatabaseConfigForm {

    @Schema(description = "申请ID")
    @NotNull(message = "申请ID不能为空")
    private Long id;

    @Schema(description = "数据库名称")
    @NotBlank(message = "数据库名称不能为空")
    private String dbName;

    @Schema(description = "数据库主机")
    @NotBlank(message = "数据库主机不能为空")
    private String dbHost;

    @Schema(description = "数据库端口")
    @NotNull(message = "数据库端口不能为空")
    private Integer dbPort;

    @Schema(description = "数据库用户名")
    @NotBlank(message = "数据库用户名不能为空")
    private String dbUsername;

    @Schema(description = "数据库密码")
    @NotBlank(message = "数据库密码不能为空")
    private String dbPassword;

    @Schema(description = "数据库驱动")
    private String dbDriver;

    @Schema(description = "超级管理员用户名")
    @NotBlank(message = "超级管理员用户名不能为空")
    private String adminUsername;

    @Schema(description = "超级管理员密码")
    @NotBlank(message = "超级管理员密码不能为空")
    private String adminPassword;

    @Schema(description = "超级管理员手机号")
    private String adminMobile;

    @Schema(description = "超级管理员邮箱")
    private String adminEmail;

    @Schema(description = "配置备注")
    private String configComment;
}

